Modelling active travel with efficient, future-proof tools

Robin Lovelace

Introduction

“The role of data analysis is to make people change their mind, based on the data.” Kruschke (2010)

The role of transport modelling is to make people change their mind, and investment decisions, based on evidence.

“Those among us who are unwilling to expose their ideas to the hazard of refutation do not take part in the scientific game.” Popper (1934)

The more people who can run, modify, and see the outputs of transport models, the larger the impact.

What does change look like?

“Propensity to Cycle Tool helped us to assess the potential future demand for travel on these routes” (Leicestery County Council, 2023, one of 90+ local authority network plans using the tool).

Active Travel England

Department for Transport's Data Science for Transport conference

2 year contract in the Civil Service from January 2023

My roles:

  • Recruit the team
  • Lead Data Scientist
  • Projects: plan.activetravelengland.gov.uk (formerly ATIP), SchoolRoutes

Source: photo taken May 2023 at the Department for Transport’s Data Science for Transport conference

Premises

  1. There are often trade-offs between level of detail and simplicity in transport models.
  2. Simplicity has advantages: transparency, reproducibility, flexibility, number of scenarios that can be run, and explainability.
  3. Results at the route segment level are the most useful output of transport models for many applications, including active travel planning.
  4. For models to be future-proof, they need to be easy for others to understand, reproduce, and extend.

The 4-stage model

A transport models from first principles can be expressed in 4 stages, according the classic four-step model:

  1. Trip generation
  2. Trip distribution
  3. Mode choice
  4. Route assignment

The 4-stage model as a DAG

graph TD
    A[Trip Generation] --> B[Trip Distribution]
    B --> C[Mode Choice]
    C --> D[Route Assignment]
Figure 1: The 4-stage transport modelling framework presented as a linear Directed Acyclic Graph (DAG)

A more realistic model?

The dependency structure may be more realistic, with trip generation, distribution and mode choice all affected by the network.

graph TD
    E[Network] --> D[Route Assignment: s4]
    F[Other Factors] --> C
    F --> B
    C --> D
    D --> B
    E --> B[Trip Distribution: s2]
    E --> C[Mode Choice: s3]
    B --> C
    B --> A[Trip Generation: s1]
Figure 2: A 6-stage transport modelling framework with recursive dependencies between Trip Distribution and Route Assignment stages.

Why the 4-stage model?

  • Simplicity
  • Lack of data
  • Lack of methods
  • Epistemic bias

We should not throw the baby out with the bathwater, but reform, rebuild or retrofit transport modelling for the 21st Century.

So let’s see what we can do with the 4-stage model before moving on to more complex models.

Schematic diagram illustrating the modelling process, geographic analysis and the four-stage model in the context of the wider transport planning process Lovelace (2021), building on Ortúzar S. and Willumsen (2011).

Aggregate models for DRT

Aggregate analysis used to inform DRT zone selection (Mahfouz et al. 2025)

Activity-based models

A schematic of a research project involving MATSim Rai et al. (2007)

Efficient mesoscopic transport model (uxSIM)

~60k vehicles passing through a 10km x 10km grid network in 2 hours (30 s on consumer-grade computer) (Seo 2025)

Deep learning approaches

Source: the citygraph GitHub repo

A model from first principles

Let’s build a transport model, simplifying the 4-stage model by collapsing Trip Generation and Distribution into a single stage: Trip Estimation.

Case study: Leeds, UK

Inputs for a spatial interaction model

  • Population: Estimated from residential buildings in OSM.
  • Jobs: Estimated from commercial/retail/office buildings in OSM.

A simple spatial interaction model

  • Inverse power distance decay function: flow = pop * jobs * exp(beta * distance)
  • Constrained on production (origin population).

Results, with all OD pairs (left) and top 20 trips only (right):

Distance decay

Scenario analysis: “Go Dutch”

  • Model cycling uptake based on route distance and hilliness.
  • Uses the pct package.
  • pcycle = pct::uptake_pct_godutch_2020(distance, gradient)

“Go Dutch” scenario results

Route network summarising the Go Dutch scenario, showing potential for cycling.

Route assignment

  • Assign trips estimated by the SIM to the network.
  • ‘All or Nothing’ (AON) assignment.

Conclusions

  • Not all transport planning research questions or applications require the same tools.
  • A ‘horses for courses’ approach suggests thinking about what change looks like, and to choose/build tools accordingly.
  • The 3-stage model presented is an example of what simple, open, efficient tools can look like, but is it future-proof?
  • Enables rapid scenario analysis (e.g., Go Dutch).
  • Future work: validation, optimisation, and applying the approach to other contexts and modes.

Thanks + references

Kruschke, John. 2010. Doing Bayesian Data Analysis: A Tutorial Introduction with R. Academic Press.
Lovelace, Robin. 2021. “Open Source Tools for Geographic Analysis in Transport Planning.” Journal of Geographical Systems, January. https://doi.org/10.1007/s10109-020-00342-2.
Mahfouz, Hussein, Malcolm Morgan, Eva Heinen, and Robin Lovelace. 2025. “Delineating Potential DRT Operating Areas: An Origindestination Clustering Approach.” Journal of Urban Mobility 8 (December): 100135. https://doi.org/10.1016/j.urbmob.2025.100135.
Ortúzar S., Juan de Dios, and Luis G. Willumsen. 2011. Modelling Transport. Fourth edition. Chichester, West Sussex, United Kingdom: John Wiley & Sons.
Popper, Karl. 1934. The Logic of Scientific Discovery. Hutchinson. http://books.google.com/books?id=MdvaSAAACAAJ&pgis=1.
Rai, R. K., Michael Balmer, Marcel Rieser, V. S. Vaze, Stefan Schönfelder, and Kay W. Axhausen. 2007. “Capturing Human Activity Spaces.” Transportation Research Record: Journal of the Transportation Research Board 2021 (1): 70–80. https://doi.org/10.3141/2021-09.
Seo, Toru. 2025. “UXsim: Lightweight Mesoscopic Traffic Flow Simulator in Pure Python.” Journal of Open Source Software 10 (106): 7617. https://doi.org/10.21105/joss.07617.